package com.yeung.swordoffer;

/**
 * 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。
 * 请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形，总共有多少种方法？
 */
public class 矩形覆盖 {
    public static void main(String[] args) {
        int count = RectCover(10);
        System.out.println(count);
    }

    public static int RectCover(int target) {
        if (target<=0) return 0;
        //2*1 的 矩形只有一种方法
        if (target == 1) return 1;
        //2*2的矩阵只有两种方法(要么横着, 要么竖着)
        if (target == 2) return 2;
        //大于2的情况是
        return RectCover(target - 1) + RectCover(target - 2);
    }
}
